package com.base.core.dao;

import java.util.List;
import java.util.Map;

import com.base.core.domain.BaseDomain;



public interface IBaseDao {
	
	public BaseDomain expandDomain(BaseDomain domain);

	public BaseDomain expandDomain(BaseDomain domain, String sqlMap);

	public int updateDomain(String sqlMap);

	public int updateDomain(BaseDomain domain);

	public int updateDomain(BaseDomain domain, String sqlMap);

	public int insertDomain(String sqlMap);

	public int insertDomain(BaseDomain domain);

	public int insertDomain(BaseDomain domain, String sqlMap);

	public List<BaseDomain> queryDomain(String sqlMap);

	public List<BaseDomain> queryDomain(BaseDomain domain);

	public List<BaseDomain> queryDomain(BaseDomain domain, String sqlMap);

	@SuppressWarnings("rawtypes")
	public List queryDomainWithPage(String sqlMap, int page, int limit);

	@SuppressWarnings("rawtypes")
	public List queryDomainWithPage(BaseDomain domain, int page, int limit);

	@SuppressWarnings("rawtypes")
	public List queryDomainWithPage(BaseDomain domain, String sqlMap, int page,
			int limit);

	@SuppressWarnings("rawtypes")
	public List queryMap(String sqlMap);

	@SuppressWarnings("rawtypes")
	public List queryMap(BaseDomain domain);

	@SuppressWarnings("rawtypes")
	public List queryMap(BaseDomain domain, String sqlMap);

	@SuppressWarnings("rawtypes")
	public List queryMap(Map map);

	@SuppressWarnings("rawtypes")
	public List queryMap(Map map, String sqlMap);

	@SuppressWarnings("rawtypes")
	public List queryMapWithPage(String sqlMap, int page, int limit);

	
	@SuppressWarnings("rawtypes")
	public List queryMapWithPage(Map map, String sqlMap, int page, int limit);

}
